#ifndef _MAIN_H_
#define _MAIN_H_

#pragma pack(1)
struct paramter_report_packet {

    unsigned char PD1;       // ??PD??
    unsigned char PD2;       // ??PD??
    short         T1_Value;  // T1??
    short         T2_Value;  // T2??
    short         T3_Value;  // T3??
    short         T4_Value;  // T3??
    unsigned char EH_Value;  // ????
    short         ET_Value;  // ????
    unsigned char ver1;
    unsigned char ver2;
    unsigned int  sn;
};

struct pump_operating_paramter {
    unsigned char PD1;  // ??PD??
    unsigned char PD2;  // ??PD??
    unsigned char PD3;
    short         T1_Value;  // T1??
    short         T2_Value;  // T2??
    short         T3_Value;  // T3??
    short         T4_Value;  // T3??
    unsigned char EH_Value;  // ????
    short         ET_Value;  // ????
};

#define TIMER_6_BASE (1)
struct time_count {
    unsigned int  count;
    unsigned int  benchmark;
    unsigned char run;
};

struct timer6_count_variable {
    struct time_count cycle_10ms;
};

#pragma pack()

void memory_copy(void *dst, void *src, unsigned int len);
void add_timer_count_variable(struct time_count *p_time_count, unsigned int num);
void delay_time(unsigned int times);
void memory_set(void *dst, unsigned char data, unsigned int size);

extern struct pump_operating_paramter operate_parm;
extern struct timer6_count_variable   timer6_count;

extern struct adaptor_parm_summary adaptor_parm;

#endif
